import type { User } from '@/types/user'
import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useUserStore = defineStore(
  'cp-user',
  () => {
    // 用户信息
    const user = ref<User>()
    // 设置用户，登录后使用
    const setUser = (userInfo: User) => {
      user.value = userInfo
    }
    // 清空用户，退出后使用
    const delUser = () => {
      user.value = undefined
    }

    return { user, setUser, delUser }
  },
  // 方式1 默认存储所有数据，以store的ID作为存储的key
  {
    persist: true, // 开启持久化
  },
  // 方式2 自定义存储的key,以及指定要存储的数据
  // {
  //   persist: {
  //     key: 'cp-user-666',
  //     pick: ['user'], // 如果只存储对象的某个属性，pick: ['user.token']
  //   },
  // },
)
